package com.carleasoft.mps.adu.business.role.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carleasoft.mps.adu.business.role.bean.entity.AuthorityRoleEntity;
import com.carleasoft.mps.adu.business.role.bean.po.AuthorityRoleInfoPagePo;
import com.carleasoft.mps.adu.business.role.bean.po.AuthorityRoleInfoPo;
import com.carleasoft.mps.adu.business.role.bean.po.RoleParamsPo;
import com.carleasoft.mps.adu.business.role.bean.vo.AuthorityRoleInfoPageVo;

import java.util.List;

/**
 * <p>Description: role service</p>
 * @since 2020-05-11
 * @author ztm
 */
public interface AuthorityRoleService extends IService<AuthorityRoleEntity> {
    /**
     * 添加编辑角色
     * @param authorityRoleInfoPo
     * @return void
     */
    void addOrUpdataRole(AuthorityRoleInfoPo authorityRoleInfoPo);


    /**
     * 删除角色
     * @param roleCode
     * @return void
     */
    void deleteRole(RoleParamsPo roleCode);

    /**
     * 获取角色信息列表,分页，能查出自定义角色
     * @param page,authorityUserAllInfoVo
     * @return List
     */
    Page<AuthorityRoleInfoPageVo> pageQuery(Page<AuthorityRoleInfoPagePo> page, AuthorityRoleInfoPagePo authorityRoleInfoPagePo);

    /**
     * 反向授权接口
     * @param
     * @return void
     */
    void revGrantRole(String userCode,String userName,String type);
    /**
     * 解除反向授权接口
     * @param
     * @return void
     */
     void delGrantRole(String userCode, String userName, String type);

}
